function ProductVideoBluRay() {
};

ProductVideoBluRay.instance = function(callbackFunc) {
  var popupBox = new PopupBox(), _self = this;
  var popupBox2 = new PopupBox2();
  var model = Model.instance('{{$smarty.const.MODEL_NAME_PRODUCT_VIDEO_BLURAY|escape:javascript}}', '{{$smarty.const.MODEL_TITLE_PRODUCT_VIDEO_BLURAY|escape:javascript}}', '{{$smarty.const.MODEL_TYPE_PRODUCT|escape:javascript}}');
  
  //Create model here...
  var state1 = State.instance(model, 0, 'not activate');
  var state2 = State.instance(model, 1, 'complete preview');
  var state3 = State.instance(model, 2, 'check and sent link to CUS');
  var state4 = State.instance(model, 3, 'receive CUS feedback');
  var state5 = State.instance(model, 4, 'check CUS feedback');
  var state6 = State.instance(model, 5, 'translate and upload CUS requirement');
  var state7 = State.instance(model, 6, 'download CUS requirement and modify');
  var state8 = State.instance(model, 7, 'upload DVD cover photo');
  var state9 = State.instance(model, 8, 'product completed');
  
  var transition1 = Transition.instance('completed', state2, state3, '{{$smarty.const.USER_TYPE_FILM_CUTTER|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition2 = Transition.instance('sent', state3, state4, '{{$smarty.const.USER_TYPE_CUSTOMER_SERVICE|escape:javascript}}', DlmanageUtils.normal, 14);
  var transition3 = Transition.instance('received', state4, state5, '{{$smarty.const.USER_TYPE_MANAGER_ASSISTANT|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition4 = Transition.instance('rmd CUS', state4, state4, '{{$smarty.const.USER_TYPE_MANAGER_ASSISTANT|escape:javascript}}', DlmanageUtils.mixed, 7);
  var transition5 = Transition.instance('confirmed', state5, state8, '{{$smarty.const.USER_TYPE_CUSTOMER_SERVICE|escape:javascript}}', DlmanageUtils.normal, 0);
  var transition6 = Transition.instance('modify', state5, state6, '{{$smarty.const.USER_TYPE_CUSTOMER_SERVICE|escape:javascript}}', DlmanageUtils.normal, 0);
  var transition7 = Transition.instance('skip', state5, state8, '{{$smarty.const.USER_TYPE_CUSTOMER_SERVICE|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition8 = Transition.instance('uploaded', state6, state7, '{{$smarty.const.USER_TYPE_CUSTOMER_SERVICE|escape:javascript}}', DlmanageUtils.normal, 10);
  var transition9 = Transition.instance('completed', state7, state3, '{{$smarty.const.USER_TYPE_FILM_CUTTER|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition10 = Transition.instance('uploaded', state8, state9, '{{$smarty.const.USER_TYPE_CUSTOMER_SERVICE|escape:javascript}}', DlmanageUtils.normal, 9999);
  
  var transition11 = Transition.instance('received', state4, state5, '{{$smarty.const.USER_TYPE_CUSTOMER_SERVICE|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition12 = Transition.instance('rmd CUS', state4, state4, '{{$smarty.const.USER_TYPE_CUSTOMER_SERVICE|escape:javascript}}', DlmanageUtils.mixed, 7);
  
  var transition13 = Transition.instance('completed', state2, state3, '{{$smarty.const.USER_TYPE_MANAGER|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition14 = Transition.instance('sent', state3, state4, '{{$smarty.const.USER_TYPE_MANAGER|escape:javascript}}', DlmanageUtils.normal, 14);
  var transition15 = Transition.instance('received', state4, state5, '{{$smarty.const.USER_TYPE_MANAGER|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition16 = Transition.instance('rmd CUS', state4, state4, '{{$smarty.const.USER_TYPE_MANAGER|escape:javascript}}', DlmanageUtils.mixed, 7);
  var transition17 = Transition.instance('confirmed', state5, state8, '{{$smarty.const.USER_TYPE_MANAGER|escape:javascript}}', DlmanageUtils.normal, 0);
  var transition18 = Transition.instance('modify', state5, state6, '{{$smarty.const.USER_TYPE_MANAGER|escape:javascript}}', DlmanageUtils.normal, 0);
  var transition19 = Transition.instance('skip', state5, state8, '{{$smarty.const.USER_TYPE_MANAGER|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition20 = Transition.instance('uploaded', state6, state7, '{{$smarty.const.USER_TYPE_MANAGER|escape:javascript}}', DlmanageUtils.normal, 10);
  var transition21 = Transition.instance('completed', state7, state3, '{{$smarty.const.USER_TYPE_MANAGER|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition22 = Transition.instance('uploaded', state8, state9, '{{$smarty.const.USER_TYPE_MANAGER|escape:javascript}}', DlmanageUtils.normal, 9999);
  
  var transition23 = Transition.instance('completed', state2, state3, '{{$smarty.const.USER_TYPE_ADMIN|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition24 = Transition.instance('sent', state3, state4, '{{$smarty.const.USER_TYPE_ADMIN|escape:javascript}}', DlmanageUtils.normal, 14);
  var transition25 = Transition.instance('received', state4, state5, '{{$smarty.const.USER_TYPE_ADMIN|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition26 = Transition.instance('rmd CUS', state4, state4, '{{$smarty.const.USER_TYPE_ADMIN|escape:javascript}}', DlmanageUtils.mixed, 7);
  var transition27 = Transition.instance('confirmed', state5, state8, '{{$smarty.const.USER_TYPE_ADMIN|escape:javascript}}', DlmanageUtils.normal, 0);
  var transition28 = Transition.instance('modify', state5, state6, '{{$smarty.const.USER_TYPE_ADMIN|escape:javascript}}', DlmanageUtils.normal, 0);
  var transition29 = Transition.instance('skip', state5, state8, '{{$smarty.const.USER_TYPE_ADMIN|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition30 = Transition.instance('uploaded', state6, state7, '{{$smarty.const.USER_TYPE_ADMIN|escape:javascript}}', DlmanageUtils.normal, 10);
  var transition31 = Transition.instance('completed', state7, state3, '{{$smarty.const.USER_TYPE_ADMIN|escape:javascript}}', DlmanageUtils.normal, 3);
  var transition32 = Transition.instance('uploaded', state8, state9, '{{$smarty.const.USER_TYPE_ADMIN|escape:javascript}}', DlmanageUtils.normal, 9999);
  
  
  transition4.validate = function(produce, user, date, options) { if (transition4.position != user.type) { return false; } if (SimpleDate.toStamp(date) < SimpleDate.toStamp(produce.deadline)) { return false; } else { return true; } };
  transition7.validate = function(produce, user, date, options) { if (transition7.position != user.type) { return false; } if (SimpleDate.toStamp(date) < SimpleDate.toStamp(produce.deadline)) { return false; } else { return true; } };
  transition12.validate = function(produce, user, date, options) { if (transition12.position != user.type) { return false; } if (SimpleDate.toStamp(date) < SimpleDate.toStamp(produce.deadline)) { return false; } else { return true; } };
  
  transition16.validate = function(produce, user, date, options) { if (transition16.position != user.type) { return false; } if (SimpleDate.toStamp(date) < SimpleDate.toStamp(produce.deadline)) { return false; } else { return true; } };
  transition19.validate = function(produce, user, date, options) { if (transition19.position != user.type) { return false; } if (SimpleDate.toStamp(date) < SimpleDate.toStamp(produce.deadline)) { return false; } else { return true; } };
  
  transition26.validate = function(produce, user, date, options) { if (transition26.position != user.type) { return false; } if (SimpleDate.toStamp(date) < SimpleDate.toStamp(produce.deadline)) { return false; } else { return true; } };
  transition29.validate = function(produce, user, date, options) { if (transition29.position != user.type) { return false; } if (SimpleDate.toStamp(date) < SimpleDate.toStamp(produce.deadline)) { return false; } else { return true; } };
  
  transition1.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    var div = document.createElement('div');
                                                                                    var func1 = function() { if (produce._text == '') {
                                                                                                               window.alert('CAN NOT BE EMPTY');
                                                                                                               return;
                                                                                                             }
                                                                                                             if (!options) {
                                                                                                               options = {};
                                                                                                             }
                                                                                                             options.extra = produce._text;
                                                                                                             DlmanageUtils.operate(transition1, pos, callbackFunc, produce, user, date, options);
                                                                                                             popupBox2._close();
                                                                                                           };
                                                                                    var func2 = function() { popupBox2._close();
                                                                                                             callbackFunc();
                                                                                                           };
                                                                                    MiscUtils.dialog(popupBox2, pos, div, func1, func2, {t: '请写下PREVIEW的LINK', func: function() { callbackFunc(); } });
                                                                                    new DialogInput(div, produce, { title: '' });
                                                                                  };
  
  transition3.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    var div = document.createElement('div');
                                                                                    var func1 = function() { if (produce._method == '') {
                                                                                                               window.alert('CAN NOT BE EMPTY');
                                                                                                               return;
                                                                                                             }
                                                                                                             if (!options) {
                                                                                                               options = {};
                                                                                                             }
                                                                                                             options.extra = produce._method  + ((produce._method && options && options.extra) ? ' / ' : '') + ((options && options.extra) ? options.extra : '');
                                                                                                             DlmanageUtils.operate(transition3, pos, callbackFunc, produce, user, date, options);
                                                                                                             popupBox2._close();
                                                                                                           };
                                                                                    var func2 = function() { popupBox2._close();
                                                                                                             callbackFunc();
                                                                                                           };
                                                                                    MiscUtils.dialog(popupBox2, pos, div, func1, func2, { t: 'Method', width: 520, height: 80, func: func2});
                                                                                    new DialogMethod(div, produce, null);
                                                                                  };
  
  transition5.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    produce.modified = 0;
                                                                                    DlmanageUtils.operate(transition5, pos, callbackFunc, produce, user, date, options);
                                                                                  };
  
  transition6.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    produce.modified = 1;
                                                                                    DlmanageUtils.operate(transition6, pos, callbackFunc, produce, user, date, options);
                                                                                  };
  
  transition7.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    produce.modified = 0;
                                                                                    DlmanageUtils.operate(transition7, pos, callbackFunc, produce, user, date, options);
                                                                                  };
  transition9.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    var div = document.createElement('div');
                                                                                    var func1 = function() { if (produce._text == '') {
                                                                                                               window.alert('CAN NOT BE EMPTY');
                                                                                                               return;
                                                                                                             }
                                                                                                             if (!options) {
                                                                                                               options = {};
                                                                                                             }
                                                                                                             options.extra = produce._text;
                                                                                                             DlmanageUtils.operate(transition9, pos, callbackFunc, produce, user, date, options);
                                                                                                             popupBox2._close();
                                                                                                           };
                                                                                    var func2 = function() { popupBox2._close();
                                                                                                             callbackFunc();
                                                                                                           };
                                                                                    MiscUtils.dialog(popupBox2, pos, div, func1, func2, {t: '请写下PREVIEW的LINK', func: function() { callbackFunc(); } });
                                                                                    new DialogInput(div, produce, { title: '' });
                                                                                  };
  transition10.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                       options = {};
                                                                                     }
                                                                                     var previous = MiscUtils.clone(produce);
                                                                                     options.previous = previous;
                                                                                     options.branch = previous.branch;
                                                                                     options.host = previous.host;
                                                                                     options.orderDate = produce.date;
                                                                                     options.user = user;
                                                                                     options.date = date;
                                                                                     options.orderFlag = produce.orderFlag;
                                                                                     options.orderTrackId = produce.orderTrackId;
                                                                                     options.orderId = produce.orderId;
                                                                                     options.customerId = produce.customerId;
                                                                                     DlmanageUtils.operate2(transition10, pos, callbackFunc, produce, user, date, options);
                                                                                   };
  
  transition11.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                       options = {};
                                                                                     }
                                                                                     var previous = MiscUtils.clone(produce);
                                                                                     options.previous = previous;
                                                                                     var div = document.createElement('div');
                                                                                     var func1 = function() { if (produce._method == '') {
                                                                                                                window.alert('CAN NOT BE EMPTY');
                                                                                                                return;
                                                                                                              }
                                                                                                              if (!options) {
                                                                                                                options = {};
                                                                                                              }
                                                                                                              options.extra = produce._method + ((produce._method && options && options.extra) ? ' / ' : '') + ((options && options.extra) ? options.extra : '');
                                                                                                              DlmanageUtils.operate(transition11, pos, callbackFunc, produce, user, date, options);
                                                                                                              popupBox2._close();
                                                                                                            };
                                                                                     var func2 = function() { popupBox2._close();
                                                                                                              callbackFunc();
                                                                                                            };
                                                                                     MiscUtils.dialog(popupBox2, pos, div, func1, func2, { t: 'Method', width: 520, height: 80, func: func2});
                                                                                     new DialogMethod(div, produce, null);
                                                                                   };
  
  transition13.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                       options = {};
                                                                                     }
                                                                                     var previous = MiscUtils.clone(produce);
                                                                                     options.previous = previous;
                                                                                     var div = document.createElement('div');
                                                                                     var func1 = function() { if (produce._text == '') {
                                                                                                                window.alert('CAN NOT BE EMPTY');
                                                                                                                return;
                                                                                                              }
                                                                                                              if (!options) {
                                                                                                                options = {};
                                                                                                              }
                                                                                                              options.extra = produce._text;
                                                                                                              DlmanageUtils.operate(transition13, pos, callbackFunc, produce, user, date, options);
                                                                                                              popupBox2._close();
                                                                                                            };
                                                                                     var func2 = function() { popupBox2._close();
                                                                                                              callbackFunc();
                                                                                                            };
                                                                                     MiscUtils.dialog(popupBox2, pos, div, func1, func2, {t: '请写下PREVIEW的LINK', func: function() { callbackFunc(); } });
                                                                                     new DialogInput(div, produce, { title: '' });
                                                                                   };
 
  transition15.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                       options = {};
                                                                                     }
                                                                                     var previous = MiscUtils.clone(produce);
                                                                                     options.previous = previous;
                                                                                     var div = document.createElement('div');
                                                                                     var func1 = function() { if (produce._method == '') {
                                                                                                                window.alert('CAN NOT BE EMPTY');
                                                                                                                return;
                                                                                                              }
                                                                                                              if (!options) {
                                                                                                                options = {};
                                                                                                              }
                                                                                                              options.extra = produce._method  + ((produce._method && options && options.extra) ? ' / ' : '') + ((options && options.extra) ? options.extra : '');
                                                                                                              DlmanageUtils.operate(transition15, pos, callbackFunc, produce, user, date, options);
                                                                                                              popupBox2._close();
                                                                                                            };
                                                                                     var func2 = function() { popupBox2._close();
                                                                                                              callbackFunc();
                                                                                                            };
                                                                                     MiscUtils.dialog(popupBox2, pos, div, func1, func2, { t: 'Method', width: 520, height: 80, func: func2});
                                                                                     new DialogMethod(div, produce, null);
                                                                                   };
 
  transition17.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                       options = {};
                                                                                     }
                                                                                     var previous = MiscUtils.clone(produce);
                                                                                     options.previous = previous;
                                                                                     produce.modified = 0;
                                                                                     DlmanageUtils.operate(transition17, pos, callbackFunc, produce, user, date, options);
                                                                                   };
 
  transition18.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                       options = {};
                                                                                     }
                                                                                     var previous = MiscUtils.clone(produce);
                                                                                     options.previous = previous;
                                                                                     produce.modified = 1;
                                                                                     DlmanageUtils.operate(transition18, pos, callbackFunc, produce, user, date, options);
                                                                                   };
 
  transition19.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                       options = {};
                                                                                     }
                                                                                     var previous = MiscUtils.clone(produce);
                                                                                     options.previous = previous;
                                                                                     produce.modified = 0;
                                                                                     DlmanageUtils.operate(transition19, pos, callbackFunc, produce, user, date, options);
                                                                                   };
 transition21.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    var div = document.createElement('div');
                                                                                    var func1 = function() { if (produce._text == '') {
                                                                                                               window.alert('CAN NOT BE EMPTY');
                                                                                                               return;
                                                                                                             }
                                                                                                             if (!options) {
                                                                                                               options = {};
                                                                                                             }
                                                                                                             options.extra = produce._text;
                                                                                                             DlmanageUtils.operate(transition21, pos, callbackFunc, produce, user, date, options);
                                                                                                             popupBox2._close();
                                                                                                           };
                                                                                    var func2 = function() { popupBox2._close();
                                                                                                             callbackFunc();
                                                                                                           };
                                                                                    MiscUtils.dialog(popupBox2, pos, div, func1, func2, {t: '请写下PREVIEW的LINK', func: function() { callbackFunc(); } });
                                                                                    new DialogInput(div, produce, { title: '' });
                                                                                  };
  transition22.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                        options = {};
                                                                                      }
                                                                                      var previous = MiscUtils.clone(produce);
                                                                                      options.previous = previous;
                                                                                      options.branch = previous.branch;
                                                                                      options.host = previous.host;
                                                                                      options.orderDate = produce.date;
                                                                                      options.user = user;
                                                                                      options.date = date;
                                                                                      options.orderFlag = produce.orderFlag;
                                                                                      options.orderTrackId = produce.orderTrackId;
                                                                                      options.orderId = produce.orderId;
                                                                                      options.customerId = produce.customerId;
                                                                                      DlmanageUtils.operate2(transition22, pos, callbackFunc, produce, user, date, options);
                                                                                    };
  transition23.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    var div = document.createElement('div');
                                                                                    var func1 = function() { if (produce._text == '') {
                                                                                                               window.alert('CAN NOT BE EMPTY');
                                                                                                               return;
                                                                                                             }
                                                                                                             if (!options) {
                                                                                                               options = {};
                                                                                                             }
                                                                                                             options.extra = produce._text;
                                                                                                             DlmanageUtils.operate(transition23, pos, callbackFunc, produce, user, date, options);
                                                                                                             popupBox2._close();
                                                                                                           };
                                                                                    var func2 = function() { popupBox2._close();
                                                                                                             callbackFunc();
                                                                                                           };
                                                                                    MiscUtils.dialog(popupBox2, pos, div, func1, func2, {t: '请写下PREVIEW的LINK', func: function() { callbackFunc(); } });
                                                                                    new DialogInput(div, produce, { title: '' });
                                                                                  };

  transition25.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    var div = document.createElement('div');
                                                                                    var func1 = function() { if (produce._method == '') {
                                                                                                               window.alert('CAN NOT BE EMPTY');
                                                                                                               return;
                                                                                                             }
                                                                                                             if (!options) {
                                                                                                               options = {};
                                                                                                             }
                                                                                                             options.extra = produce._method  + ((produce._method && options && options.extra) ? ' / ' : '') + ((options && options.extra) ? options.extra : '');
                                                                                                             DlmanageUtils.operate(transition25, pos, callbackFunc, produce, user, date, options);
                                                                                                             popupBox2._close();
                                                                                                           };
                                                                                    var func2 = function() { popupBox2._close();
                                                                                                             callbackFunc();
                                                                                                           };
                                                                                    MiscUtils.dialog(popupBox2, pos, div, func1, func2, { t: 'Method', width: 520, height: 80, func: func2});
                                                                                    new DialogMethod(div, produce, null);
                                                                                  };

  transition27.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    produce.modified = 0;
                                                                                    DlmanageUtils.operate(transition27, pos, callbackFunc, produce, user, date, options);
                                                                                  };

  transition28.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    produce.modified = 1;
                                                                                    DlmanageUtils.operate(transition28, pos, callbackFunc, produce, user, date, options);
                                                                                  };

  transition29.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    produce.modified = 0;
                                                                                    DlmanageUtils.operate(transition29, pos, callbackFunc, produce, user, date, options);
                                                                                  };
transition31.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                      options = {};
                                                                                    }
                                                                                    var previous = MiscUtils.clone(produce);
                                                                                    options.previous = previous;
                                                                                    var div = document.createElement('div');
                                                                                    var func1 = function() { if (produce._text == '') {
                                                                                                               window.alert('CAN NOT BE EMPTY');
                                                                                                               return;
                                                                                                             }
                                                                                                             if (!options) {
                                                                                                               options = {};
                                                                                                             }
                                                                                                             options.extra = produce._text;
                                                                                                             DlmanageUtils.operate(transition31, pos, callbackFunc, produce, user, date, options);
                                                                                                             popupBox2._close();
                                                                                                           };
                                                                                    var func2 = function() { popupBox2._close();
                                                                                                             callbackFunc();
                                                                                                           };
                                                                                    MiscUtils.dialog(popupBox2, pos, div, func1, func2, {t: '请写下PREVIEW的LINK', func: function() { callbackFunc(); } });
                                                                                    new DialogInput(div, produce, { title: '' });
                                                                                  };
  transition32.operate = function(pos, callbackFunc, produce, user, date, options) { if (!options) {
                                                                                     options = {};
                                                                                   }
                                                                                   var previous = MiscUtils.clone(produce);
                                                                                   options.previous = previous;
                                                                                   options.branch = previous.branch;
                                                                                   options.host = previous.host;
                                                                                   options.orderDate = produce.date;
                                                                                   options.user = user;
                                                                                   options.date = date;
                                                                                   options.orderFlag = produce.orderFlag;
                                                                                   options.orderTrackId = produce.orderTrackId;
                                                                                   options.orderId = produce.orderId;
                                                                                   options.customerId = produce.customerId;
                                                                                   DlmanageUtils.operate2(transition32, pos, callbackFunc, produce, user, date, options);
                                                                                 };
    model.states = [ state1, state2, state3, state4, state5, state6, state7, state8, state9 ];
    model.transitions = [ transition1, transition2, transition3, transition4, transition5, transition6, transition7, transition8, transition9, transition10, transition11, transition12, transition13, transition14, transition15, transition16, transition17, transition18, transition19, transition20, 
                          transition21, transition22, transition23, transition24, transition25, transition26, transition27, transition28, transition29, transition30, transition31, transition32 ];
    return model;
};